package com.lyhengtongwl.zqsnews.ui.activity;

import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

import com.baidu.mobads.rewardvideo.RewardVideoAd;
import com.lyhengtongwl.zqsnews.R;


public class RewardVideoActivity extends AppCompatActivity implements RewardVideoAd.RewardVideoAdListener {

    public static final String TAG = "RewardVideoActivity";
    // 线上广告位id
    private static final String AD_PLACE_ID = "6794435";
    public RewardVideoAd mRewardVideoAd;
    private EditText mAdPlaceIdView;
    // 测试环境的广告位id
    //    private String mAdPlaceId = "2411590";

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.reward_video);
        initView();
    }

    @Override
    protected void onPause() {
        super.onPause();
    }

    @Override
    protected void onResume() {
        super.onResume();
    }

    @Override
    public void onVideoDownloadSuccess() {
        // 视频缓存成功
        // 说明：如果想一定走本地播放，那么收到该回调之后，可以调用show
        Log.i(TAG, "onVideoDownloadSuccess,isReady=" + mRewardVideoAd.isReady());
    }

    @Override
    public void onVideoDownloadFailed() {
        // 视频缓存失败，如果想走本地播放，可以在这儿重新load下一条广告，最好限制load次数（4-5次即可）。
        Log.i(TAG, "onVideoDownloadFailed");
    }

    @Override
    public void playCompletion() {
        // 播放完成回调，媒体可以在这儿给用户奖励
        Log.i(TAG, "playCompletion");
    }

    @Override
    public void onAdShow() {
        // 视频开始播放时候的回调
        Log.i(TAG, "onAdShow");
    }

    @Override
    public void onAdClick() {
        // 广告被点击的回调
        Log.i(TAG, "onAdClick");
    }

    @Override
    public void onAdClose(float playScale) {
        // 用户关闭了广告
        // 说明：关闭按钮在mssp上可以动态配置，媒体通过mssp配置，可以选择广告一开始就展示关闭按钮，还是播放结束展示关闭按钮
        // 建议：收到该回调之后，可以重新load下一条广告,最好限制load次数（4-5次即可）
        // playScale[0.0-1.0],1.0表示播放完成，媒体可以按照自己的设计给予奖励
        Log.i(TAG, "onAdClose" + playScale);
    }

    @Override
    public void onAdFailed(String arg0) {
        // 广告失败回调 原因：广告内容填充为空；网络原因请求广告超时
        // 建议：收到该回调之后，可以重新load下一条广告，最好限制load次数（4-5次即可）
        Log.i(TAG, "onAdFailed");
    }

    private void initView() {

        Button btn2 = this.findViewById(R.id.btn_load);
        btn2.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                mRewardVideoAd = new RewardVideoAd(RewardVideoActivity.this,
                        mAdPlaceIdView.getText().toString(), RewardVideoActivity.this, false);
                mRewardVideoAd.load();
            }

        });

        Button btn3 = this.findViewById(R.id.btn_show);
        btn3.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                if (mRewardVideoAd != null) {
                    mRewardVideoAd.show();
                } else {
                    Toast.makeText(RewardVideoActivity.this,
                            "请成功加载后在进行广告展示！", Toast.LENGTH_LONG).show();
                }
            }

        });

        Button btn4 = this.findViewById(R.id.is_ready);
        btn4.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                boolean isReady = mRewardVideoAd != null && mRewardVideoAd.isReady();
                Toast.makeText(RewardVideoActivity.this, "可用广告:" + isReady, Toast.LENGTH_SHORT).show();
            }
        });

        mAdPlaceIdView = findViewById(R.id.edit_apid);
        mAdPlaceIdView.setText(AD_PLACE_ID);
        mAdPlaceIdView.clearFocus();
    }
}